package com.jzo2o.common.expcetions;

import static com.jzo2o.common.constants.ErrorInfo.Msg.PROCESS_FAILD;
import static java.net.HttpURLConnection.HTTP_SERVER_ERROR;

/**
 * 服务器异常类，用于表示服务器内部处理过程中发生的错误
 * 对应HTTP状态码：500（服务器内部错误）
 */
public class ServerErrorException extends CommonException {
    /**
     * 使用默认错误消息构造服务器异常
     */
    public ServerErrorException() {
        this(PROCESS_FAILD);
    }
    /**
     * 使用指定错误消息构造服务器异常
     * @param message 错误消息
     */
    public ServerErrorException(String message) {
        super(HTTP_SERVER_ERROR, message);
    }
    /**
     * 使用指定原因和错误消息构造服务器异常
     * @param throwable 异常原因
     * @param message 错误消息
     */
    public ServerErrorException(Throwable throwable, String message) {
        super(throwable, HTTP_SERVER_ERROR, message);
    }
    /**
     * 使用指定原因和默认错误消息构造服务器异常
     * @param throwable 异常原因
     */
    public ServerErrorException(Throwable throwable) {
        super(throwable, HTTP_SERVER_ERROR, PROCESS_FAILD);
    }

}
